#include <stdio.h>
#include <iostream>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>

//int main(){
//  int fd = open("./bite", O_WRONLY | O_CREAT, 0666);
//  if(fd < 0)
//  {
//    perror("open");
//    return 1;
//  }
//  char *str = "i like linux!";
//  write(fd, str, strlen(str));
//  close(fd);
//
//  fd = open("./bite", O_RDONLY, 0666);
//  char buf[64];
//  memset(buf, '\0', sizeof(buf));
//  read(fd, buf, sizeof(buf));
//  printf("%s\n", buf);
//
//  close(fd);
//  return 0;
//}
//int main(){
//  close(1);      
//  int fd = open("./log.txt", O_WRONLY | O_CREAT | O_APPEND , 0666);    
//  if(fd < 0)    
//  {    
//    perror("open");           
//    return 1;    
//  }    
//  fprintf(stdout, "you can see me!\n");    
//  //fflush(stdout);    
//  close(fd);    
//}

//int main(){
//  fprintf(stdout, "hello stdout 1\n");
//  perror("hello stderr 2");
//
//  char *str1 = "hello write 1\n";
//  write(1, str1, strlen(str1));
//  char *str2 = "hello write 2\n";
//  write(2, str2, strlen(str2));
//
//  std::cout << "hello cout 1" << std::endl;
//  std::cerr << "hello cerr 2" << std::endl;
//
//  return 0;
//}

void _perror(const char* msg){
  fprintf(stderr, "%s: %s\n", msg, strerror(errno));
}

int main(){
  int fd = open("./log.txt", O_RDONLY);
  if(fd < 0)
  {
    perror("open");
    _perror("open");
    return errno;
  }

  close(fd);
  return 0;
}
